home *** CD-ROM | disk | FTP | other *** search
- ///////////////////////////////////////////////////////////////
- //
- // Module : INVSCRN.PRG
- //
- // Created by SUMMER'93 (c) on Fri Nov 26 14:50:57 1993
- //
- ///////////////////////////////////////////////////////////////
- #include "snj.ch"
- // The following vars were made static because they were 'inherited'
- // SUMPART
- // The following statics were declared 'PUBLIC' in the S87 code
- // OR were private and inherited by called functions
- // If they are used outside this module there will be a set/get
- // function with the same name as the var in this module
- static SUMPART
- procedure INVSAY( GETEM ) // Amended by SUMMER93
- // Calls: INVGET
- // Called By: INVMAIN INVEDIT
- // I N V S A Y
- @ 2, 0 clear to 24, 79
- // TEXT outlines
- set color to( COLNORM() )
-
- @ 02, 61 say "Invoice no:"
- @ 03, 00 say ;
- "┌─ Owner ──────────────────────────────┐ ┌─ Invoice Totals ────────────────────┐"
- @ 04, 00 say "│" + space( 38 ) + "│ │ Ins Co. Owner │"
- @ 05, 00 say "│ Name:" + space( 32 ) + ;
- "│ ├─────────────────────────────────────┤"
- @ 06, 00 say "│ Addr:" + space( 32 ) + ;
- "│ │ Total Labour │"
- @ 07, 00 say "│" + space( 38 ) + "│ │ Total Parts │"
- @ 08, 00 say "│" + space( 38 ) + "│ │ Specialist Mat's │"
- @ 09, 00 say ;
- "│ Home: Work: │ ├─────────────────────────────────────┤"
- @ 10, 00 say "│" + space( 38 ) + "│ │ Total excl VAT │"
- @ 11, 00 say ;
- "│ Owner VAT registered? (Y/N) │ │ Parts discnt % │"
- @ 12, 00 say ;
- "│ Insurance Co. to pay? (Y/N) │ │ Sub-total │"
- @ 13, 00 say ;
- "└──────────────────────────────────────┘ │ VAT at % │"
- @ 14, 00 say ;
- "┌─ Parts ──────────────────────────────┐ ├─────────────────────────────────────┤"
- @ 15, 00 say "│" + space( 38 ) + "│ │ Sub-total │"
- @ 16, 00 say "│" + space( 38 ) + "│ │" + space( 37 ) + "│"
- @ 17, 00 say "│" + space( 38 ) + "│ │ Owner XS" + space( 28 ) + "│"
- @ 18, 00 say "│" + space( 38 ) + "│ │ Contrib" + space( 29 ) + "│"
- @ 19, 00 say "│" + space( 38 ) + "│ │" + space( 37 ) + "│"
- @ 20, 00 say "│" + space( 38 ) + "│ │ Due from Ins. Co │"
- @ 21, 00 say "│" + space( 38 ) + "│ │ Due from Owner │"
- @ 22, 00 say "│" + space( 38 ) + "│ ╞═════════════════════════════════════╡"
- @ 23, 00 say "│" + space( 38 ) + "│ │" + space( 37 ) + "│"
- @ 24, 00 say ;
- "└──────────────────────────────────────┘ └─────────────────────────────────────┘"
- set color to( COLHEAD() )
- @ 23, 46 say "Invoice Total"
-
- do INVGET with GETEM
-
- return
-
- //*****************************************************************
-
- procedure INVGET( GETEM ) // Amended by SUMMER93
- // Calls: SINVNO QBREAD QBYESNO
- // Called By: INVMAIN INVEDIT INVFIND INVSAY
- local GETLIST
- // These locals cover set/get variables where lvalues are needed
- local MOWNINIT, MOWNNAME, MOWNADD1, MOWNADD2, MOWNADD3, MOWNTELH, MOWNTELB;
- , MOWNVAT, MINSTOPAY, MPARTDISC, MVATRATE
- GETLIST := {}
- set color to( COLNORM() )
-
- SINVNO( )
- do while .t.
- // GET command amended to ...
- MOWNINIT := MOWNINIT()
- @ 05, 08 get MOWNINIT WHEN { || MOWNINIT := MOWNINIT(), .t. } ;
- valid { || MOWNINIT( MOWNINIT ) != NIL }
- // GET command amended to ...
- MOWNNAME := MOWNNAME()
- @ 05, 15 get MOWNNAME WHEN { || MOWNNAME := MOWNNAME(), .t. } ;
- valid { || MOWNNAME( MOWNNAME ) != NIL }
- // GET command amended to ...
- MOWNADD1 := MOWNADD1()
- @ 06, 08 get MOWNADD1 WHEN { || MOWNADD1 := MOWNADD1(), .t. } ;
- valid { || MOWNADD1( MOWNADD1 ) != NIL }
- // GET command amended to ...
- MOWNADD2 := MOWNADD2()
- @ 07, 08 get MOWNADD2 WHEN { || MOWNADD2 := MOWNADD2(), .t. } ;
- valid { || MOWNADD2( MOWNADD2 ) != NIL }
- // GET command amended to ...
- MOWNADD3 := MOWNADD3()
- @ 08, 08 get MOWNADD3 WHEN { || MOWNADD3 := MOWNADD3(), .t. } ;
- valid { || MOWNADD3( MOWNADD3 ) != NIL }
- // GET command amended to ...
- MOWNTELH := MOWNTELH()
- @ 09, 08 get MOWNTELH WHEN { || MOWNTELH := MOWNTELH(), .t. } ;
- valid { || MOWNTELH( MOWNTELH ) != NIL }
- // GET command amended to ...
- MOWNTELB := MOWNTELB()
- @ 09, 27 get MOWNTELB WHEN { || MOWNTELB := MOWNTELB(), .t. } ;
- valid { || MOWNTELB( MOWNTELB ) != NIL }
- if GETEM
- // GET command amended to ...
- MOWNVAT := MOWNVAT()
- @ 11, 24 get MOWNVAT picture "Y" ;
- WHEN { || MOWNVAT := MOWNVAT(), .t. } valid { || ;
- MOWNVAT( MOWNVAT ) != NIL }
- // GET command amended to ...
- MINSTOPAY := MINSTOPAY()
- @ 12, 24 get MINSTOPAY picture "Y" ;
- WHEN { || MINSTOPAY := MINSTOPAY(), .t. } valid { || ;
- MINSTOPAY( MINSTOPAY ) != NIL }
- else
- set color to( COLBRIGHT() )
- @ 11, 24 say MOWNVAT() picture "Y"
- @ 12, 24 say MINSTOPAY() picture "Y"
- set color to( COLNORM() )
- endif
- // GET command amended to ...
- MPARTDISC := MPARTDISC()
- @ 11, 56 get MPARTDISC picture "99" ;
- WHEN { || MPARTDISC := MPARTDISC(), .t. } valid { || ;
- MPARTDISC( MPARTDISC ) != NIL }
- // GET command amended to ...
- MVATRATE := MVATRATE()
- @ 13, 53 get MVATRATE picture "99.99" ;
- WHEN { || MVATRATE := MVATRATE(), .t. } valid { || ;
- MVATRATE( MVATRATE ) != NIL }
-
- if GETEM
- do QBREAD with "Fill in Owner details" , , GETLIST
- // Call amended
- if GETOUT() // Can't use OR
- exit
- elseif QBYESNO( "Owner details OK?" ) = "Y"
- exit
- endif
- else
- clear gets
- exit
- endif
- enddo
- set color to( COLNORM() )
- if "AVIS" $ upper( MOWNNAME() ).and. empty( MCUSTTYP() )
- MCUSTTYP( "AVIS" )
- endif
- return
-
- //*****************************************************************
-
- procedure INVTOT
- // Calls: INVTOTAL PRPOS
- // Called By: INVMAIN INVEDIT INVFIND
-
-
- do INVTOTAL with .t.
- // Various other Total fields
-
- set color to( COLBRIGHT() )
-
- @ 06, 62 say PRPOS( MINSLAB() , "9999.99" )
- @ 07, 62 say PRPOS( MINSPART() , "9999.99" )
- @ 08, 62 say PRPOS( MINSSPEC() , "9999.99" )
- @ 10, 62 say PRPOS( MINSAMT() , "9999.99" )
- @ 11, 62 say PRPOS( IPDSCNT() , "9999.99" )
- @ 12, 62 say PRPOS( ISUBTOT() , "9999.99" )
- @ 13, 62 say PRPOS( IVATAMT() , "9999.99" )
- @ 15, 62 say PRPOS( INSSUB() , "9999.99" )
- @ 17, 71 say PRPOS( MEXCESS() , "9999.99" )
- @ 17, 53 say PRPOS( MEXCESS() , "9999.99" )
- @ 18, 71 say PRPOS( MCONTRIB() , "9999.99" )
- @ 18, 53 say PRPOS( MCONTRIB() , "9999.99" )
- @ 20, 62 say PRPOS( MINSDUE() , "9999.99" )
-
- @ 06, 71 say PRPOS( MOWNLAB() , "9999.99" )
- @ 07, 71 say PRPOS( MOWNPART() , "9999.99" )
- @ 08, 71 say PRPOS( MOWNSPEC() , "9999.99" )
- @ 10, 71 say PRPOS( MOWNAMT() , "9999.99" )
- @ 11, 71 say PRPOS( OPDSCNT() , "9999.99" )
- @ 12, 71 say PRPOS( OSUBTOT() , "9999.99" )
- @ 13, 71 say PRPOS( OVATAMT() , "9999.99" )
- @ 15, 71 say PRPOS( OWNSUB() , "9999.99" )
- @ 21, 71 say PRPOS( MOWNDUE() , "9999.99" )
-
- MINVTOTAL( MOWNDUE() + MINSDUE() )
- @ 23, 71 say PRPOS( MINVTOTAL() , "9999.99" )
-
- set color to( COLNORM() )
- return
-
- //*****************************************************************
-
- procedure INVVEH( GETEM ) // Amended by SUMMER93
- // Calls: V2DATES QBREAD QBYESNO QBMESS
- // Called By: INVEDIT
- // I N V V E H
- // get or say vehicle particulars
- local OLDSCR, STAT, GETLIST
- // These locals cover set/get variables where lvalues are needed
- local MDATEIN, MDATEOUT, MDATEINV, MMAKEMODEL, MSPEEDO, MFUEL, MREGNO, MYEAR;
- , MPAINT, MTRIM, MENGNO, MCHASNO
- GETLIST := {}
-
-
- STAT := "N"
- set color to( COLNORM() )
- OLDSCR := savescreen( 0, 0, 24, 40 )
- @ 0, 0 clear to 24, 40
- @ 07, 01, 23, 39 box "┌─┐│┘─└│ "
- @ 07, 03 say " Vehicle "
- @ 11, 01 say "├"
- @ 11, 39 say "┤"
- @ 13, 01 say "├"
- @ 13, 39 say "┤"
- @ 15, 01 say "├"
- @ 15, 39 say "┤"
- @ 17, 01 say "├"
- @ 17, 39 say "┤"
- @ 19, 01 say "├"
- @ 19, 39 say "┤"
- @ 21, 01 say "├"
- @ 21, 39 say "┤"
- @ 09, 03 say "Date In Out Invoice"
- @ 11, 02 say "─────────────────────────────────────"
- @ 12, 03 say "Make:"
- @ 13, 02 say "─────────────────────────────────────"
- @ 14, 03 say "Speedo: Fuel: (0-4 Qtrs)"
- @ 15, 02 say "─────────────────────────────────────"
- @ 16, 03 say "Reg no: Year:"
- @ 17, 02 say "─────────────────────────────────────"
- @ 18, 03 say "Paint: Trim:"
- @ 19, 02 say "─────────────────────────────────────"
- @ 20, 04 say "Engine:"
- @ 21, 02 say "─────────────────────────────────────"
- @ 22, 03 say "Chassis:"
-
- do while STAT = "N"
- MDATEIN( iif( empty(MDATEIN() ), date(), MDATEIN() ) )
- // GET command amended to ...
- MDATEIN := MDATEIN()
- @ 10, 8 get MDATEIN picture "@K" WHEN { || MDATEIN := MDATEIN(), .t. } ;
- valid { || MDATEIN( MDATEIN ) != NIL .and. V2DATES(MDATEOUT() , 1 ) }
- MDATEOUT( iif( MEDITING() .and. empty(MDATEOUT() ), date(), MDATEOUT() ) )
- // GET command amended to ...
- MDATEOUT := MDATEOUT()
- @ 10, 19 get MDATEOUT picture "@K" ;
- WHEN { || MDATEOUT := MDATEOUT(), .t. } ;
- valid { || MDATEOUT( MDATEOUT ) != NIL .and. V2DATES(MDATEIN() , 2 ) }
- MDATEINV( iif( MEDITING() .and. empty(MDATEINV() ), date(), MDATEINV() ) )
- // GET command amended to ...
- MDATEINV := MDATEINV()
- @ 10, 31 get MDATEINV picture "@K" ;
- WHEN { || MDATEINV := MDATEINV(), .t. } ;
- valid { || MDATEINV( MDATEINV ) != NIL .and. V2DATES(MDATEOUT() , 2 ) }
- // GET command amended to ...
- MMAKEMODEL := MMAKEMODEL()
- @ 12, 9 get MMAKEMODEL WHEN { || MMAKEMODEL := MMAKEMODEL(), .t. } ;
- valid { || MMAKEMODEL( MMAKEMODEL ) != NIL }
- // GET command amended to ...
- MSPEEDO := MSPEEDO()
- @ 14, 11 get MSPEEDO picture "999999" ;
- WHEN { || MSPEEDO := MSPEEDO(), .t. } valid { || ;
- MSPEEDO( MSPEEDO ) != NIL }
- // GET command amended to ...
- MFUEL := MFUEL()
- @ 14, 27 get MFUEL picture "9" WHEN { || MFUEL := MFUEL(), .t. } ;
- valid { || MFUEL( MFUEL ) != NIL .and. CheckRange( MFUEL, 0, 4 ) }
- // GET command amended to ...
- MREGNO := MREGNO()
- @ 16, 11 get MREGNO picture "!!!!!!!!" ;
- WHEN { || MREGNO := MREGNO(), .t. } valid { || ;
- MREGNO( MREGNO ) != NIL }
- // GET command amended to ...
- MYEAR := MYEAR()
- @ 16, 27 get MYEAR WHEN { || MYEAR := MYEAR(), .t. } valid { || ;
- MYEAR( MYEAR ) != NIL }
- // GET command amended to ...
- MPAINT := MPAINT()
- @ 18, 10 get MPAINT picture "@S10" WHEN { || MPAINT := MPAINT(), .t. } ;
- valid { || MPAINT( MPAINT ) != NIL }
- // GET command amended to ...
- MTRIM := MTRIM()
- @ 18, 27 get MTRIM picture "@S10" WHEN { || MTRIM := MTRIM(), .t. } ;
- valid { || MTRIM( MTRIM ) != NIL }
- // GET command amended to ...
- MENGNO := MENGNO()
- @ 20, 12 get MENGNO picture "@S24" WHEN { || MENGNO := MENGNO(), .t. } ;
- valid { || MENGNO( MENGNO ) != NIL }
- // GET command amended to ...
- MCHASNO := MCHASNO()
- @ 22, 12 get MCHASNO picture "@S24" ;
- WHEN { || MCHASNO := MCHASNO(), .t. } valid { || ;
- MCHASNO( MCHASNO ) != NIL }
-
- if GETEM
- do QBREAD with "Fill in Vehicle details" , , GETLIST
- // Call amended
- if GETOUT()
- exit
- endif
- STAT := QBYESNO( "Vehicle details OK?" )
- else
- clear gets
- STAT := " "
- do QBMESS
- endif
- enddo
- set color to( COLNORM() )
- restscreen( 0, 0, 24, 40, OLDSCR )
- return
-
- //*****************************************************************
-
- procedure INVPAY( GETEM ) // Amended by SUMMER93
- // Calls: VCUSTTYP QBREAD QBYESNO QBMESS
- // Called By: INVEDIT
-
- // I N V P A Y
- // Payment details
- local OLDSCR, STAT, GETLIST
- // These locals cover set/get variables where lvalues are needed
- local MACTYPE, MWORKTYPE, MCUSTTYP, MEXCESS, MCONTRIB
- GETLIST := {}
-
- set color to( COLNORM() )
-
- STAT := "N"
- OLDSCR := savescreen( 7, 0, 23, 39 )
-
- @ 14, 00, 24, 39 box "┌─┐│┘─└│ "
- @ 14, 02 say " Payment Details "
- @ 16, 08 say "Cash or Account (C/A)"
- @ 18, 07 say "Retail, Int, Wty (R/I/W)"
- @ 20, 03 say "Customer group for Reports"
-
- do while STAT = "N"
- // GET command amended to ...
- MACTYPE := MACTYPE()
- @ 16, 24 get MACTYPE picture "!" WHEN { || MACTYPE := MACTYPE(), .t. } ;
- valid { || MACTYPE( MACTYPE ) != NIL .and. MACTYPE() $ "CA" }
- // GET command amended to ...
- MWORKTYPE := MWORKTYPE()
- @ 18, 24 get MWORKTYPE picture "!" ;
- WHEN { || MWORKTYPE := MWORKTYPE(), .t. } ;
- valid { || MWORKTYPE( MWORKTYPE ) != NIL .and. MWORKTYPE() $ "RIW" }
- // GET command amended to ...
- MCUSTTYP := MCUSTTYP()
- @ 20, 18 get MCUSTTYP picture "!!!!" ;
- WHEN { || MCUSTTYP := MCUSTTYP(), .t. } ;
- valid { || MCUSTTYP( MCUSTTYP ) != NIL .and. VCUSTTYP(20, 18, .f. ) }
- if MINSTOPAY()
- // GET command amended to ...
- MEXCESS := MEXCESS()
- @ 17, 53 get MEXCESS picture "9999.99" ;
- WHEN { || MEXCESS := MEXCESS(), .t. } valid { || ;
- MEXCESS( MEXCESS ) != NIL }
- // GET command amended to ...
- MCONTRIB := MCONTRIB()
- @ 18, 53 get MCONTRIB picture "9999.99" ;
- WHEN { || MCONTRIB := MCONTRIB(), .t. } valid { || ;
- MCONTRIB( MCONTRIB ) != NIL }
- endif
-
- if GETEM
- do QBREAD with "Fill in Payment details" , , GETLIST
- // Call amended
- STAT := QBYESNO( "Payment details OK?" )
- if GETOUT()
- exit
- endif
- else
- clear gets
- STAT := " "
- do QBMESS
- endif
- enddo
- set color to( COLNORM() )
- restscreen( 7, 0, 23, 39, OLDSCR )
- return
-
- //*****************************************************************
-
- procedure INVINSLB( GETEM ) // Amended by SUMMER93
- // Calls: COPYEST QBREAD QBYESNO QBMESS
- // Called By: INVEDIT
- local OLDSCR, STAT, GETLIST
- // These locals cover set/get variables where lvalues are needed
- local MINSCO, MINSADD1, MINSADD2, MINSENG, MINSTEL, MESTNO, MCLAIMNO;
- , MLABESTNO, MLABOUR1, ML2TEXT, MLABOUR2, ML3TEXT, MLABOUR3, ML4TEXT, MLABOUR4
- GETLIST := {}
-
-
- OLDSCR := savescreen( 0, 40, 24, 79 )
- @ 3, 40 clear to 24, 79
- STAT := "N"
- set color to( COLNORM() )
-
- @ 02, 61 say "Invoice no:"
- @ 03, 41 say "┌─ Insurance Company ─────────────────┐"
- @ 04, 41 say "│" + space( 37 ) + "│"
- @ 05, 41 say "│Name:" + space( 32 ) + "│"
- @ 06, 41 say "│Addr:" + space( 32 ) + "│"
- @ 07, 41 say "│" + space( 37 ) + "│"
- @ 08, 41 say "├─────────────────────────────────────┤"
- @ 09, 41 say "│ Eng:" + space( 32 ) + "│"
- @ 10, 41 say "│ Tel:" + space( 32 ) + "│"
- @ 11, 41 say "├─────────────────────────────────────┤"
- @ 12, 41 say "│ Estimate:" + space( 27 ) + "│"
- @ 13, 41 say "│ Claim:" + space( 27 ) + "│"
- @ 14, 41 say "│" + space( 37 ) + "│"
- @ 15, 41 say "╞══ Labour ═══════════════════════════╡"
- @ 16, 41 say "│" + space( 37 ) + "│"
- @ 17, 41 say "│ Estimate no: │"
- @ 18, 41 say "├─────────────────────────────────────┤"
- @ 19, 41 say "│2:" + space( 35 ) + "│"
- @ 20, 41 say "│3:" + space( 35 ) + "│"
- @ 21, 41 say "│4:" + space( 35 ) + "│"
- @ 22, 41 say "├─────────────────────────────────────┤"
- @ 23, 41 say "│ Total Labour charge │"
- @ 24, 41 say "└─────────────────────────────────────┘"
-
-
- do while STAT = "N"
- if MINSTOPAY()
- // GET command amended to ...
- MINSCO := MINSCO()
- @ 05, 48 get MINSCO WHEN { || MINSCO := MINSCO(), .t. } valid { || ;
- MINSCO( MINSCO ) != NIL }
- // GET command amended to ...
- MINSADD1 := MINSADD1()
- @ 06, 48 get MINSADD1 WHEN { || MINSADD1 := MINSADD1(), .t. } ;
- valid { || MINSADD1( MINSADD1 ) != NIL }
- // GET command amended to ...
- MINSADD2 := MINSADD2()
- @ 07, 48 get MINSADD2 WHEN { || MINSADD2 := MINSADD2(), .t. } ;
- valid { || MINSADD2( MINSADD2 ) != NIL }
- // GET command amended to ...
- MINSENG := MINSENG()
- @ 09, 48 get MINSENG WHEN { || MINSENG := MINSENG(), .t. } ;
- valid { || MINSENG( MINSENG ) != NIL }
- // GET command amended to ...
- MINSTEL := MINSTEL()
- @ 10, 48 get MINSTEL WHEN { || MINSTEL := MINSTEL(), .t. } ;
- valid { || MINSTEL( MINSTEL ) != NIL }
- endif
- // GET command amended to ...
- MESTNO := MESTNO()
- @ 12, 53 get MESTNO WHEN { || MESTNO := MESTNO(), .t. } ;
- valid { || MESTNO( MESTNO ) != NIL .and. COPYEST() }
- // GET command amended to ...
- MCLAIMNO := MCLAIMNO()
- @ 13, 53 get MCLAIMNO WHEN { || MCLAIMNO := MCLAIMNO(), .t. } ;
- valid { || MCLAIMNO( MCLAIMNO ) != NIL }
-
- // GET command amended to ...
- MLABESTNO := MLABESTNO()
- @ 17, 56 get MLABESTNO WHEN { || MLABESTNO := MLABESTNO(), .t. } ;
- valid { || MLABESTNO( MLABESTNO ) != NIL }
- // GET command amended to ...
- MLABOUR1 := MLABOUR1()
- @ 17, 71 get MLABOUR1 picture "9999.99" ;
- WHEN { || MLABOUR1 := MLABOUR1(), .t. } valid { || ;
- MLABOUR1( MLABOUR1 ) != NIL }
- // GET command amended to ...
- ML2TEXT := ML2TEXT()
- @ 19, 44 get ML2TEXT picture "@S24" ;
- WHEN { || ML2TEXT := ML2TEXT(), .t. } valid { || ;
- ML2TEXT( ML2TEXT ) != NIL }
- // GET command amended to ...
- MLABOUR2 := MLABOUR2()
- @ 19, 71 get MLABOUR2 picture "9999.99" ;
- WHEN { || MLABOUR2 := MLABOUR2(), .t. } valid { || ;
- MLABOUR2( MLABOUR2 ) != NIL }
- // GET command amended to ...
- ML3TEXT := ML3TEXT()
- @ 20, 44 get ML3TEXT picture "@S24" ;
- WHEN { || ML3TEXT := ML3TEXT(), .t. } valid { || ;
- ML3TEXT( ML3TEXT ) != NIL }
- // GET command amended to ...
- MLABOUR3 := MLABOUR3()
- @ 20, 71 get MLABOUR3 picture "9999.99" ;
- WHEN { || MLABOUR3 := MLABOUR3(), .t. } valid { || ;
- MLABOUR3( MLABOUR3 ) != NIL }
- // GET command amended to ...
- ML4TEXT := ML4TEXT()
- @ 21, 44 get ML4TEXT picture "@S24" ;
- WHEN { || ML4TEXT := ML4TEXT(), .t. } valid { || ;
- ML4TEXT( ML4TEXT ) != NIL }
- // GET command amended to ...
- MLABOUR4 := MLABOUR4()
- @ 21, 71 get MLABOUR4 picture "9999.99" ;
- WHEN { || MLABOUR4 := MLABOUR4(), .t. } valid { || ;
- MLABOUR4( MLABOUR4 ) != NIL }
-
- if GETEM
- do QBREAD with iif(MINSTOPAY() , ;
- "Fill in Insurance Co and Labour details", "Fill in Labour details" );
- , , @GETLIST
- // Call amended
- MLABOURT( MLABOUR1() + MLABOUR2() + MLABOUR3() + MLABOUR4() )
- set color to( COLHEAD() )
- @ 23, 71 say MLABOURT() picture "9999.99"
- STAT := QBYESNO( "Insurance/Labour details OK?" )
- if GETOUT()
- exit
- endif
- else
- clear gets
- STAT := " "
- set color to( COLHEAD() )
- @ 23, 71 say MLABOURT() picture "9999.99"
- STAT := QBYESNO( "Insurance/Labour details OK?" )
- set color to( COLNORM() )
- do QBMESS
- endif
- enddo
-
- restscreen( 0, 40, 24, 79, OLDSCR )
- set color to( COLNORM() )
- return
-
- //*****************************************************************
-
- function SINVNO
- // Calls:
- // Called By: INVEDIT INVFIND INVGET GINVNO
-
- set color to( COLBRIGHT() )
- @ 02, 73 say MINVNO() picture "99999"
- set color to( COLNORM() )
-
- return( .t. )
-
- //*****************************************************************
-
- function GINVNO( OKNEW ) // Amended by SUMMER93
- // Calls: SINVNO QBPROMPT QBREAD QBYESNO INVOWNGT
- // Called By: INVFIND
- local SEEKVAR, OKMATCH, IINDEX, GETLIST
- // These locals cover set/get variables where lvalues are needed
- local MOWNNAME, MINVNO
- GETLIST := {}
-
-
- SINVNO( )
-
- select INVOICE
- IINDEX := QBPROMPT( "Owner name|Invoice number|Quit|", ;
- "Select method of searching", 2 )
- if IINDEX = 1 // Find by name
- set index to INVNAME
- // GET command amended to ...
- MOWNNAME := MOWNNAME()
- @ 5, 15 get MOWNNAME WHEN { || MOWNNAME := MOWNNAME(), .t. } ;
- valid { || MOWNNAME( MOWNNAME ) != NIL }
- do QBREAD with "Input Owner name (or part)", "" , @GETLIST
- // Call amended
- SEEKVAR := upper( trim(MOWNNAME() ))
- elseif IINDEX = 2 // Find by number
- set index to INVNUM
- // GET command amended to ...
- MINVNO := MINVNO()
- @ 02, 73 get MINVNO picture "99999" WHEN { || MINVNO := MINVNO(), .t. } ;
- valid { || MINVNO( MINVNO ) != NIL }
- do QBREAD with "Input Invoice number", "" , @GETLIST
- // Call amended
- SEEKVAR := str( MINVNO() , 5 )
- else
- GETOUT( .t. )
- return( 0 )
- endif
-
- do case
- case GETOUT() // Just hit escape
- return( 0 )
- case !empty( SEEKVAR )
- set softseek off
- seek SEEKVAR
- case empty( SEEKVAR ) // Did we get it?
- if QBYESNO( "Would you like to search for it?" ) = "Y"
- MINVNO( INVOWNGT( SEEKVAR ) )
- SEEKVAR := iif( IINDEX = 1, MOWNNAME() , MINVNO() )
- return( MINVNO() )
- else
- return( 0 )
- endif
- endcase
-
- do case // Result of that
- case GETOUT() // Just hit escape in INVOWNGT()
- return( 0 )
- case eof( )
- QBPROMPT( iif(OKNEW, "Create new|", "" ) + "Search|Quit|", ;
- "Action for this non-existent Invoice", 2 )
- do case
- // case QBRESP="C"
- // Do nothing....
- case QBRESP() = "S"
- MINVNO( INVOWNGT( SEEKVAR ) )
- otherwise
- return( 0 )
- endcase
- otherwise
- OKMATCH := iif( IINDEX = 2, MINVNO() = INVOICE->INVNO, SEEKVAR == ;
- upper(trim(INVOICE->OWNNAME )))
- MINVNO( INVOICE->INVNO ) // In case answer=1
- if !OKMATCH
- if QBYESNO( ;
- "Not an exact match - Would you like to search for it?" ) = ;
- "Y"
- MINVNO( INVOWNGT( SEEKVAR ) )
- endif
- elseif IINDEX = 1
- skip
- if upper( trim(SEEKVAR )) = upper( INVOICE->OWNNAME )
- if QBYESNO( "More matches - Would you like to search for it?" ;
- ) = "Y"
- MINVNO( INVOWNGT( SEEKVAR ) )
- else
- skip - 1
- endif
- else
- skip - 1
- endif
- endif
- endcase
-
- return( MINVNO() )
-
- //*****************************************************************
-
- function COPYEST
- // Calls:
- // Called By: INVINSLB
- local RETVAL, MEM, VARNAME
-
-
- VARNAME := readvar()
- // SUMMER93 - Caution
- // A call to 'readvar' followed by a macro can
- // be replaced by use of 'getactive' and 'varget'
- // VARNAME := GETACTIVE():VARGET()
- MEM := &VARNAME
- if empty( MLABESTNO() )
- MLABESTNO( MEM )
- endif
-
- return .t.
-
- //*****************************************************************
- FUNCTION SUMPART( xNewVal )
- local xReturn := SUMPART
- if xNewVal <> NIL
- SUMPART := xNewVal
- endif
- return xReturn
- // End of file
-